//
//  commom.swift
//  sweepMine
//
//  Created by 孙飞 on 15/12/18.
//  Copyright © 2015年 Sunfei. All rights reserved.
//

import UIKit


let SCREENW = UIScreen.mainScreen().bounds.size.width
let SCREENH = UIScreen.mainScreen().bounds.size.height

//mark  - returns: 随机颜色
func RandomColor() -> UIColor {
    
    let red = CGFloat(arc4random() % 256) / 255.0
    let green = CGFloat(arc4random() % 256) / 255.0
    let blue = CGFloat(arc4random() % 256) / 255.0
    return UIColor(red: red, green: green, blue: blue, alpha: 1.0)
    
}

func caculateAroundMinecount(mineNumb: Int ,mineCells: [mineModel]){
    
    // Down
    if mineNumb + colNumb < sumCount {
        if mineCells[mineNumb + colNumb].isMine! {
            mineCells[mineNumb].aroundCount += 1
        }
    }
    // DownLeft
    if mineNumb + colNumb - 1 < sumCount {
        //判断列数 是否是相邻两列
        //如果 n+行数-1 % 行数 <-- 小1格 --> n%行数，说明在空间上是在此格 上一列
        if (mineNumb + colNumb - 1) % colNumb == mineNumb % colNumb - 1{
            if mineCells[mineNumb + colNumb - 1].isMine! {
                mineCells[mineNumb].aroundCount += 1
            }
        }
    }
    // DownRight
    if mineNumb + colNumb + 1 < sumCount {
        //判断列数
        //如果 n+行数+1 % 行数 <-- 大1格 --> n%行数，说明在空间上是在此格 下一列
        if (mineNumb + colNumb + 1) % colNumb == mineNumb % colNumb + 1{
            if mineCells[mineNumb + colNumb + 1].isMine! {
                mineCells[mineNumb].aroundCount += 1
            }
        }
    }
    // Up
    if mineNumb - colNumb >= 0 {
        if mineCells[mineNumb - colNumb].isMine! {
            mineCells[mineNumb].aroundCount += 1
        }
    }
    // UpLeft
    if mineNumb - colNumb - 1 >= 0 {
        //判断列数 是否是相邻两列
        //如果 n-行数-1 % 行数 <-- 小1格 --> n%行数，说明在空间上是在此格 上一列
        if (mineNumb - colNumb - 1) % colNumb == mineNumb % colNumb - 1{
            if mineCells[mineNumb - colNumb - 1].isMine! {
                mineCells[mineNumb].aroundCount += 1
            }
        }
    }
    // UpRight
    if mineNumb - colNumb + 1 >= 0 {
        //判断列数
        //如果 n-行数+1 % 行数 <-- 大1格 --> n%行数，说明在空间上是在此格 下一列
        if (mineNumb - colNumb + 1) % colNumb == mineNumb % colNumb + 1{
            if mineCells[mineNumb - colNumb + 1].isMine! {
                mineCells[mineNumb].aroundCount += 1
            }
        }
    }
    
    // Right
    if mineNumb + 1 < sumCount {
        if mineCells[mineNumb + 1].isMine! {
            mineCells[mineNumb].aroundCount += 1
            if mineNumb % colNumb == (colNumb - 1){
                //如果是最右边一个 且+1格有雷 --> 下一行第一个：即不在此格周围
                mineCells[mineNumb].aroundCount -= 1
            }
        }
    }
    // Left
    if mineNumb - 1 >= 0 {
        if mineCells[mineNumb - 1].isMine! {
            mineCells[mineNumb].aroundCount += 1
            if mineNumb % colNumb == 0{
                //如果是最左边一个 且-1格有雷 --> 上一行最后一个：即不在此格周围
                mineCells[mineNumb].aroundCount -= 1
            }
        }
    }

}

//            for xxx in Numbs{
//
//                if xxx == Numb {
//                    Numb = Int(arc4random()) % sumCount
//                    print(Numb)
//这个数需要 再次判断是否已经存在，不能直接添加到数组
//                    Numbs.append(Numb)
//                    break
//                }
//            }


